/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.eventos.adapaters;

/**
 *
 * @author lizardo Rios
 */
import java.io.FileInputStream;
import org.apache.poi.poifs.eventfilesystem.POIFSReader;

public class AnalizadorWord  {
    private int numeroCaracteres;
    private int numeroPalabras;
    private int numeroPaginas;
    private String titulo;
    private String autor;
    private String comentarios;
    private String texto;
    private String nombreFichero;

    /************************** Constructor de la Clase ***********************/
    public AnalizadorWord (String nombreFichero) {
        this.nombreFichero = nombreFichero;
    }

    /**************************** Setters and Getters *************************/
    public int getNumeroCaracteres() {
        return numeroCaracteres;
    }
    public void setNumeroCaracteres(int numeroCaracteres) {
        this.numeroCaracteres = numeroCaracteres;
    }

    public int getNumeroPalabras() {
        return numeroPalabras;
    }
    public void setNumeroPalabras(int numeroPalabras) {
        this.numeroPalabras = numeroPalabras;
    }

    public int getNumeroPaginas() {
        return numeroPaginas;
    }
    public void setNumeroPaginas(int numeroPaginas) {
        this.numeroPaginas = numeroPaginas;
    }

    public String getTitulo() {
        return titulo;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return autor;
    }
    public void setAutor(String autor) {
        this.autor = autor;
    }

    public String getComentarios() {
        return comentarios;
    }
    public void setComentarios(String comentarios) {
        this.comentarios = comentarios;
    }

    public String getTexto() {
        return texto;
    }
    public void setTexto(String texto) {
        this.texto = texto;
    }

    public String getNombreFichero() {
        return nombreFichero;
    }
    public void setNombreFichero(String nombreFichero) {
        this.nombreFichero = nombreFichero;
    }

    /**************************** Setters and Getters *************************/
    public void analizar() throws Exception {
        POIFSReader r1 = new POIFSReader();

        FileInputStream fis=null;

        // Registramos el listener para después analizar la información.

        StandardReaderListener stdReader = new StandardReaderListener();

        stdReader.setDatos(this);

        r1.registerListener(stdReader, "\005SummaryInformation");

        try {

        // Forzamos la lectura del documento.
            fis = new FileInputStream(this.nombreFichero);
        r1.read(fis);
        } catch (Exception e) {
            System.out.println("Error->" + e.toString());
        } finally {
            if(fis!=null)
                fis.close();
        }

    }

    public static void main(String []args) {
        String filename = "d:\\formato_certificado01.doc";
        AnalizadorWord analizador = new AnalizadorWord(filename);
        try {
            analizador.analizar();
        } catch (Exception e2) {
            System.out.println("Error"+e2.toString());
        }
            System.out.println(analizador);
        }

}
